import OpenAI from "openai";

// 初始化OpenAI客户端（参数保持不变，确保配置正确）
const openai = new OpenAI({
  apiKey: "sk-2bb3ca0816e1416ba2b1ba3071e37a68",
  baseURL: "https://api.deepseek.com/v1/chat/completions",
  dangerouslyAllowBrowser: true
});

// 系统预设消息（定义AI角色，格式正确）
const systemMessage = {
  role: "system",
  content: `你是一位专业的健康助手，为用户提供健康咨询和建议，但不能替代医生诊断。记住，你要用很友好的语气和病人诉说。`
};

// 修复后的AI请求函数
export async function getAIResponse(userMessages) {
  try {
    // 关键修复：组合正确的消息数组（系统提示 + 用户历史消息）
    // 1. 先加入系统提示（确保AI知道自己的角色）
    // 2. 再展开用户传入的历史消息（保持用户消息原本的role: "user"格式）
    const messages = [
      systemMessage,  // 系统提示必须放在最前面
      ...userMessages // 用户的历史对话（比如[{role: "user", content: "感冒了怎么办"}]）
    ];

    // 调用DeepSeek API（参数格式完全正确）
    const completion = await openai.chat.completions.create({
      model: "deepseek-chat",  // 正确的DeepSeek模型名
      messages: messages       // 传递修复后的完整消息数组
    });

    // 返回AI的回复内容（取正确的响应字段）
    return completion.choices[0].message.content;
  } catch (err) {
    // 打印错误日志，方便调试（比如API密钥过期、网络问题）
    console.error("AI接口调用错误详情：", err);
    // 返回友好的错误提示
    return "服务暂时不能使用，请稍后再试，紧急情况请直接就医";
  }
}